<?php  
class GoodsController extends AuthController{
	private $db;
	private $category;//栏目
	private $brand;//品牌
	private $goods_type;//商品类型
	private $gid;
	/**
	 * 构造函数
	 * @return [type] [description]
	 */
	public function __init(){

		$this->access();//权限验证

		$this->db=K('Goods');

		$this->gid=Q('gid',0,'intval');

		$this->category=S('category');

		$this->brand=S('brand');

		$this->goods_type=S('goods_type');
	}
	/**
	 * 显示列表
	 * @return [type] [description]
	 */
	public function index(){

		$data=$this->dataTOString();

		$this->assign($data);

		$this->display();
	}
	// /**
	//  * 欢迎页显示商品列表
	//  * @return [type] [description]
	//  */
	// public function welcome(){

	// 	$data=$this->dataToString();

	// 	$this->assign($data);

	// 	$this->display();
	// }
	/**
	 * 将0 1之类的转换成字符串 (是 否)之类的
	 * 这里改为a标签带背景图
	 * @return [array] [获取所有商品数据]
	 */
	public function dataToString(){

		$data=$this->db->getPageList();

		int_to_string($data['goods'],array('is_on_sale'=>array(0=>"<a href='javascript:;' class='no' onclick='_sale(this);'></a>",1=>"<a href='javascript:;' class='yes' onclick='_sale(this);'></a>")));

		int_to_string($data['goods'],array('is_hot'=>array(0=>"<a href='javascript:;' class='no' onclick='_hot(this);'></a>",1=>"<a href='javascript:;' class='yes' onclick='_hot(this);'></a>")));

		int_to_string($data['goods'],array('is_new'=>array(0=>"<a href='javascript:;' class='no' onclick='_new(this);'></a>",1=>"<a href='javascript:;' class='yes' onclick='_new(this);'></a>")));

		int_to_string($data['goods'],array('is_best'=>array(0=>"<a href='javascript:;' class='no' onclick='_best(this);'></a>",1=>"<a href='javascript:;' class='yes' onclick='_best(this);'></a>")));

		return $data;
	}
	/**
	 * 添加商品（添加到商品表）
	 * 同时添加数据到商品附表（关键字，描述，详情）
	 * 同时添加到商品图片表（详情页图片大中小图）
	 * 同时添加到商品属性表（属性值和附加价格）
	 */
	public function add(){
		if (IS_POST) {
			
			if ($this->db->addGoods()) {

				$this->success('添加商品成功','index');
			}else{
				$this->error($this->db->error);
			}
		}else{

			$this->assign('category',$this->category);//分配栏目信息

			$this->assign('brand',$this->brand);//分配品牌信息

			$this->assign('goods_type',$this->goods_type);//分配商品类型

			$this->display();
		}
	}
	/**
	 * 编辑商品
	 * @return [type] [description]
	 */
	public function edit(){
		if (IS_POST) {
			if ($this->db->editGoods()) {
				$this->success('编辑成功','index');
			}else{
				$this->error($this->db->error);
			}
		}else{
			if (!$this->gid) {
				$this->error('该商品不存在');
			}
			//分配品牌
			$this->assign('brand',$this->brand);
			//分配栏目
			$this->assign('category',$this->category);
			//分配商品类型
			$this->assign('goods_type',$this->goods_type);
			//分配商品图片表
			$this->assign('goods_gallery',K('GoodsGallery')->getImage($this->gid));
			//商品表goods 
			//商品图片表gallery 
			//商品详情附表goods_data 
			//商品属性表goods_attr
			$goods=M('goods')->join("__goods__ g JOIN __goods_data__ gd ON g.gid=gd.goods_gid ")->where("gid=".$this->gid)->find();

			$this->assign('goods',$goods);

			$this->display();
		}
	}
	/**
	*将商品放入回收站
	 * @return [type] [description]
	 */
	public function recycle(){
		if ($this->db->recycleGoods()) {

			$this->success("成功放入回收站",'index');
		}else{
			$this->error($this->db->error);
		}
	}
	/**
	 * 查询类型属性
	 * @return [json] [json形式的类型属性]
	 */
	public function getGoodsAttr(){

		$db=K('GoodsAttr');

		$data=$db->get();

		echo json_encode($data);

		exit;
	}
	/**
	 * 编辑时异步删除详情图片
	 * @return [type] [description]
	 */
	public function delGalleryImg(){

		$id=Q('goods_gallery_id');
		
		if (K('GoodsGallery')->delImage($id)) {
			echo json_encode(array('state' => 1, 'msg' => ' 删除成功 ','timeout'=>0.3));exit;
		}else{
			echo json_encode(array('state' => 0, 'msg' => ' 删除失败 ','timeout'=>0.3));exit;
		}
	}
	/**
	 * 异步更改是否上架
	 */
	public function _sale(){
		if ($this->db->updateSale()) {
			echo json_encode(array('state' => 1, 'msg' => ' 修改成功 ','timeout'=>0.3));exit;
		}else{
			echo json_encode(array('state' => 0, 'msg' => ' 修改失败 ','timeout'=>0.3));exit;
		}
	}
	/**
	 * 异步更改是否热门
	 */
	public function _hot(){
		if ($this->db->updateHot()) {
			echo json_encode(array('state' => 1, 'msg' => ' 修改成功 ','timeout'=>0.3));exit;
		}else{
			echo json_encode(array('state' => 0, 'msg' => ' 修改失败 ','timeout'=>0.3));exit;
		}
	}
	/**
	 * 异步更改是否新品
	 */
	public function _new(){
		if ($this->db->updateNew()) {
			echo json_encode(array('state' => 1, 'msg' => ' 修改成功 ','timeout'=>0.3));exit;
		}else{
			echo json_encode(array('state' => 0, 'msg' => ' 修改失败 ','timeout'=>0.3));exit;
		}
	}
	/**
	 * 异步更改是否精品
	 */
	public function _best(){
		if ($this->db->updateBest()) {
			echo json_encode(array('state' => 1, 'msg' => ' 修改成功 ','timeout'=>0.3));exit;
		}else{
			echo json_encode(array('state' => 0, 'msg' => ' 修改失败 ','timeout'=>0.3));exit;
		}
	}
}
?>